-
-
Notifications
You must be signed in to change notification settings - Fork 480
freetype: fix build #8170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
freetype: fix build #8170
Conversation
Summary of ChangesHello @choyy, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request addresses and resolves build failures for the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request fixes the freetype build by updating the dependency handling. It introduces a patch for Brotli to correctly link the brotlicommon
library and simplifies the build script by removing now-redundant logic for manually passing dependency paths to CMake. The changes are logical and improve the maintainability of the package definition. I have one suggestion to improve the readability of the new Brotli patch.
|
||
on_install(function (package) | ||
io.replace("CMakeLists.txt", "cmake_minimum_required(VERSION 3.12", "cmake_minimum_required(VERSION 3.25", {plain = true}) | ||
io.replace("builds/cmake/FindBrotliDec.cmake", "${PC_BROTLIDEC_LIBRARY_DIRS})", "${PC_BROTLIDEC_LIBRARY_DIRS})\nfind_library(BROTLICOMMON_LIB NAMES brotlicommon HINTS ${PC_BROTLIDEC_LIBDIR})\nlist(APPEND BROTLIDEC_LIBRARIES ${BROTLICOMMON_LIB})", {plain = true}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The replacement string in this io.replace
call is quite long and contains embedded newline characters (\n
), which harms readability and makes future maintenance more difficult. To improve this, consider defining the replacement string in a more readable way, for example by using table.concat
or a multi-line string. This would make the CMake code being injected much clearer.
For example:
local replacement = table.concat({
"${PC_BROTLIDEC_LIBRARY_DIRS})",
"find_library(BROTLICOMMON_LIB NAMES brotlicommon HINTS ${PC_BROTLIDEC_LIBDIR})",
"list(APPEND BROTLIDEC_LIBRARIES ${BROTLICOMMON_LIB})"
}, "\n")
io.replace("builds/cmake/FindBrotliDec.cmake", "${PC_BROTLIDEC_LIBRARY_DIRS})", replacement, {plain = true})
I'm not sure to understand how this is better than the previous solution? |
I think that |
I don't get why we remove all hint except for brotli, which was working before. |
Libfiles contain dll, see #8155
|
brotli is ported to xmake, cmake can't find it if removing FindDependency.cmake. |
Then we just need to filter .dll out of them |
how about this: #8182 |
No description provided.